package com.yxy.ms.manager.common;

import java.io.Serializable;
import java.util.Map;

import lombok.Getter;
import lombok.Setter;

/***
 * <类描述>FetchRow条件参数
 * 
 * @author yangcheng6327
 *
 * @param <T>
 */
@Getter
@Setter
public class ConditionParam<T> implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1940991287694819219L;
    /**
     * 业务条件
     */
    private T bizCondition;
    /**
     * 过滤条件
     */
    private Map<String, Object> filterCondition;
    /**
     * 排序
     */
    private Order order;
    /**
     * 返回行数
     */
    private Limitter limitter;

    public ConditionParam(T bizCondition) {
        this.bizCondition = bizCondition;
    }

    public ConditionParam(Order order) {
        this.order = order;
    }

    public ConditionParam(T bizCondition, Order order) {
        this.bizCondition = bizCondition;
        this.order = order;
    }

    public ConditionParam(T bizCondition, Order order, Map<String, Object> filterCondition) {
        this.bizCondition = bizCondition;
        this.order = order;
        this.filterCondition = filterCondition;
    }

    public ConditionParam(T bizCondition, Order order, Limitter limitter) {
        this.bizCondition = bizCondition;
        this.order = order;
        this.limitter = limitter;
    }

}
